// 用户管理的接口

import request from '@/utills/request'
import type {SetRoleData,User, UserResponseData,AllRoleResponseData} from './type'

// 枚举地址
enum API{
    // 获取全部已有的用户账号信息
    ALLUSER_URL='/admin/acl/user/',
    // 添加一个新的用户账号
    ADDUSER_URL='/admin/acl/user/save',
    // 更新已有的用户账号
    UPDATEUSER_URL='/admin/acl/user/update',
    // 获取全部职位以及当前账号拥有的职位
    ALLROLE_URL='/admin/acl/user/toAssign/',
    // 给已有的用户分配角色
    SETROLE_URL='/admin/acl/user/doAssignRole',
    // 删除某一个账号
    DELETEUSER_URL='/admin/acl/user/remove/',
    // 批量删除的接口
    DELETEALLUSER_URL='/admin/acl/user/batchRemove'
}

// 获取用户账号信息的接口
export const reqUserInfo=(page:number,limit:number,username:string)=>request.get<any,UserResponseData>(API.ALLUSER_URL+`${page}/${limit}/?username=${username}`)
// 添加与更新用户的接口
export const reqAddOrUpdateUser=(data:User)=>{
    // 携带参数有ID
    if(data.id){
        return request.put<any,any>(API.UPDATEUSER_URL,data)
    }else{
        return request.post<any,any>(API.ADDUSER_URL,data)
    }
}
// 获取全部职位以及当前账号拥有的职位接口
export const reqAllRole=(userId:number)=>request.get<any,AllRoleResponseData>(API.ALLROLE_URL+userId)
// 分配职务
export const reqSetUserRole=(data:SetRoleData)=>request.post<any,any>(API.SETROLE_URL,data)
// 删除某一个账号
export const reqRemoveUser=(userId:number)=>request.delete<any,any>(API.DELETEUSER_URL+userId)
// 批量删除的接口
export const reqSelectUser=(idList:number[])=>request.delete(API.DELETEALLUSER_URL,{data:idList})